﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Manager.Camada.Negocio;
using System.Drawing;

namespace Manager
{
    public partial class PaginaAnalise : System.Web.UI.Page
    {
      

        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.Page.IsPostBack == false)
            {
                if (Session["RequisitosNaoFuncionais"] == null)
                    Session["RequisitosNaoFuncionais"] = new List<RequisitosNaoFuncionaisVO>();

                

            }
        }

      
        protected void btCriarRequisitos_Click(object sender, ImageClickEventArgs e)
        {
            try
           {
               List<RequisitosVO> listaRequisitos = new List<RequisitosVO>();

               if (txtNomeRequisito.Text != "")
               {
                   if (txtDescricao.Text != "")
                   {
                       {
                           RequisitosVO requisitos = new RequisitosVO();

                           requisitos.codigo = "F1";
                           requisitos.nomeRequisito = txtNomeRequisito.Text;
                           requisitos.oculto = cbOculto.Checked;
                           requisitos.descricao = txtDescricao.Text;

                           Session["Requisitos"] = requisitos;

                           listaRequisitos.Add(requisitos);

                           gwRequisito.Visible = true;
                           gwRequisito.DataSource = listaRequisitos;
                           gwRequisito.DataBind();

                       }

                       {
                           txtDescricao.BackColor = Color.Silver;
                           txtNomeRequisito.BackColor = Color.Silver;

                           txtDescricao.Enabled = false;
                           txtNomeRequisito.Enabled = false;
                           cbOculto.Enabled = false;
                       }

                       {
                           txtNomeRequisitoNaoFuncional.BackColor = Color.White;
                           txtRestricao.BackColor = Color.White;
                           ddCategoria.BackColor = Color.White;

                           txtNomeRequisitoNaoFuncional.Enabled = true;
                           txtRestricao.Enabled = true;
                           ddCategoria.Enabled = true;

                           cbDesejavel.Enabled = true;
                           cbPermanente.Enabled = true;

                           btCriarRequisitosNaoFuncionais.Enabled = true;
                       }
                   }
                   else
                   {
                       txtDescricao.Focus();
                   }
               }
               else
               {
                   txtNomeRequisito.Focus();
               }

            }
            catch
            {
            }
        }

        protected void btCriarRequisitosNaoFuncionais_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                List<RequisitosNaoFuncionaisVO> listRequisitos = (List<RequisitosNaoFuncionaisVO>)Session["RequisitosNaoFuncionais"];
                
                RequisitosNaoFuncionaisVO requisito = new RequisitosNaoFuncionaisVO();
                requisito.codigo = "NF1.1";
                requisito.nome = txtNomeRequisitoNaoFuncional.Text;
                requisito.restricao = txtRestricao.Text;
                requisito.categoria = ddCategoria.SelectedValue;
                requisito.desejavel = cbDesejavel.Checked;
                requisito.permanente = cbPermanente.Checked;

                listRequisitos.Add(requisito);

                Session["RequisitosNaoFuncionais"] = listRequisitos;

                gwRequisitoNaoFuncionarl.Visible = true;
                gwRequisitoNaoFuncionarl.DataSource = listRequisitos;
                gwRequisitoNaoFuncionarl.DataBind();

                limparCamposNaoFuncionais();

            }
            catch
            {
            }
        }

        protected void btMontaRequisitos_Click(object sender, ImageClickEventArgs e)
        {
            RequisitosVO requisitos = (RequisitosVO)Session["Requisitos"];

            if (requisitos != null)
            {
                List<RequisitosNaoFuncionaisVO> listRequisitos = (List<RequisitosNaoFuncionaisVO>)Session["RequisitosNaoFuncionais"];

                if (listRequisitos.Count > 0)
                {

                    requisitos.requisitosNaoFuncionarios = listRequisitos;

                    Requisitos1.Visible = true;

                    Requisitos1.setListaRequisitosNaofuncionais(requisitos);
                }
            }
        }

        private void limparCamposNaoFuncionais()
        {
            txtNomeRequisitoNaoFuncional.Text = "";
            txtRestricao.Text = "";

            ddCategoria.SelectedIndex = 0;

            cbDesejavel.Checked = false;
            cbPermanente.Checked = false;
        }

        private void limparCamposFuncionais()
        {
            txtNomeRequisito.Text = "";
            cbOculto.Checked = false;
            txtDescricao.Text = "";
        }

        protected void ImageButton5_Click(object sender, ImageClickEventArgs e)
        {
            limparCamposFuncionais();
        }

        protected void ImageButton7_Click(object sender, ImageClickEventArgs e)
        {
            limparCamposNaoFuncionais();
        }

        protected void btGridEditar_Click(object sender, ImageClickEventArgs e)
        {
            int index = ((System.Web.UI.WebControls.GridViewRow)(((System.Web.UI.Control)(sender)).BindingContainer)).DataItemIndex;

            {
                txtNomeRequisito.Text = gwRequisito.Rows[index].Cells[1].Text;
                //cbOculto.Checked = Convert.ToBoolean(gwRequisito.Rows[index].Cells[2].Text);
                txtDescricao.Text = gwRequisito.Rows[index].Cells[3].Text;

                {
                    txtDescricao.BackColor = Color.White;
                    txtNomeRequisito.BackColor = Color.White;

                    txtDescricao.Enabled = true;
                    txtNomeRequisito.Enabled = true;
                    cbOculto.Enabled = true;
                }

                {
                    txtNomeRequisitoNaoFuncional.BackColor = Color.Silver;
                    txtRestricao.BackColor = Color.Silver;
                    ddCategoria.BackColor = Color.Silver;

                    txtNomeRequisitoNaoFuncional.Enabled = false;
                    txtRestricao.Enabled = false;
                    ddCategoria.Enabled = false;

                    cbDesejavel.Enabled = false;
                    cbPermanente.Enabled = false;

                    btCriarRequisitosNaoFuncionais.Enabled = false;
                }

            }
        }

        protected void btGridNaoEditar_Click(object sender, ImageClickEventArgs e)
        {
            int index = ((System.Web.UI.WebControls.GridViewRow)(((System.Web.UI.Control)(sender)).BindingContainer)).DataItemIndex;

            {
                txtNomeRequisitoNaoFuncional.Text = gwRequisitoNaoFuncionarl.Rows[index].Cells[1].Text;
                txtRestricao.Text = gwRequisitoNaoFuncionarl.Rows[index].Cells[2].Text;

                string nomeCategoria = gwRequisitoNaoFuncionarl.Rows[index].Cells[3].Text;
                ddCategoria.SelectedValue = nomeCategoria;

                //CheckBox chDesejavel = gwRequisitoNaoFuncionarl.Rows[index].Cells[4] as CheckBox;
            }
        }

      

    }
}